<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // function fn(callback) {
        //     callback(999)
        // }

        // fn(function(data) {
        //     console.log(data);
        // })






        // var arr = [1, 2, 3, 44, 55];
        // Array.prototype.myforEach = function(fn) {
        //     for (var i = 0; i < this.length; i++) {
        //         fn(this[i], i)
        //     }
        // }
        // arr.myforEach(function(v, i) {
        //     console.log(v, i)
        // })




        reduce(function(p, n) {})
        var arr2 = [1, 2, 3, 4]
        var s = arr2.reduce(function(p, n) {
            return p += n
        })
        console.log(s);



        // 原型 原型链

        // 对象【 {}，[],
        // function， / ^ / 】 有原型链     __proto__   浏览器看到的 [[Prototype]]
        // 函数 有原型 prototype


        //构造函数-- - > new -- > 对象

        // 构造函数.prototype == 对象. __proto__ 
        //对象. __proto__  == 构造函数.prototype  // 对象的原型链 指向 构造函数的 原型 一直到null 为止
    </script>
</body>

</html>